1. Field of the Invention
The present invention relates to a technology for grouping requests.
2. Description of the Related Art
There are conventional system architectures, such as three-level Web systems, that process a request from a user by invoking requests among a plurality of servers in a coordinated manner. The request refers to a set of data such as protocols used by individual processes, request name, IP address, and time. For example, in system consisting of a client (Web browser), a Web server, an application server, and a database server, a request from the client is received by the Web server. The request received by the Web server causes a new request to the application server, which then accesses the database server specified in the request and executes the process in the database server. Thus, the request from the client is processed by invoking requests among the plurality of servers in a coordinated manner.
To analyze the efficiency of such systems or the causes of failure in such systems, there are analysis methods available that involve model-based analysis of the processes in the plurality of servers in response to the request from the user. Specifically, the efficiency or the causes of failure in such systems can be analyzed by evaluating the difference between the processes that take place in the actual server and in the model in response to the requests and a tendency of change of the system load.
Creating models for analysis purpose necessitates that transactions be segregated into groups, a transaction being a series of processes in response to requests being invoked among the plurality of servers. The requests first need to be segregated into groups as a premise to transaction grouping. In a transaction grouping method disclosed in Japanese Patent Laid-Open Publication No. 2006-11683, the requests are grouped directly based on the request name sent from the client to the Web server.
However, the conventional grouping technology based on the request name tends to generate too many groups. For example, it is usually good to collect requests for static web pages because they are processed by the system with very similar way, namely, they require very short response time and don't cause any other request to the application or database servers. However, the grouping with the request name segregates such requests to many different groups. Segregating into too many groups decreases the number of requests in each group and degrades the statistical reliability of the analysis.